package com.ambulance.utils;

import com.ambulance.project.biz.entity.Gcs;
import com.ambulance.project.biz.entity.Nhiss;
import com.google.common.collect.Lists;

import java.util.List;

/**
 * @Author RXL
 * @Date 2020/5/21 11:34
 * @Version 1.0
 */
public class ChildUtils {

    /**
     * GCSchild
     * @param gcses
     * @return
     */
    public static List<Gcs> getGCSChild(List<Gcs> gcses) {
        if (gcses.isEmpty()) {
            return gcses;
        }
        List<Gcs> nonFirst = Lists.newArrayList();
        List<Gcs> first = Lists.newArrayList();
        for (Gcs gcs : gcses) {
            if (gcs.getPid() == 0) {
                first.add(gcs);
            } else {
                nonFirst.add(gcs);
            }
        }

        // 遍历剩下的非一级菜单
        for (Gcs gcs : first) {
            List<Gcs> gcsList = Lists.newArrayList();
            for (Gcs au : nonFirst) {
                if (au.getPid() == gcs.getId()) {
                    gcsList.add(au);
                }
            }
            gcs.setChild(gcsList);
        }
        return first;
    }

    /**
     *NHISSCHILD
     * @param nhisses
     * @
     */
    public static List<Nhiss> getNhissChild(List<Nhiss> nhisses) {
        if (nhisses.isEmpty()) {
            return nhisses;
        }

        List<Nhiss> nonFirst = Lists.newArrayList();
        List<Nhiss> first = Lists.newArrayList();
        for (Nhiss nhiss : nhisses) {
            if (nhiss.getPid() == 0) {
                first.add(nhiss);
            } else {
                nonFirst.add(nhiss);
            }
        }

        // 遍历剩下的非一级菜单
        for (Nhiss nhiss : first) {
            List<Nhiss> nhissList = Lists.newArrayList();
            for (Nhiss au : nonFirst) {
                if (au.getPid() == nhiss.getId()) {
                    nhissList.add(au);
                }
            }
            nhiss.setChild(nhissList);
        }
        return first;
    }

}
